Computer Programming
__TOC__ Computer Science/Programming * Type System (Wikipedia) ** Strong and weak typing ** Type conversion * Overview of Graphs * Canonical form * Closure (Wikipedia) ** First-class function ** First-class citizen * URL Template * Model View ViewModel * GUI widget ** button, check box, radio, list box, drop-down list, combo box, spinner, slider, text box, ** tree, grid, menu, menu bar, toolbar ** label, tooltip, balloon help, status bar, progress bar, inforbar * ASCII * Character Sets * ISO 639 : Codes for the representation of names of languages * ISO 3166-1 : Codes for the representation of names of countries and their subdivisions – Part 1: Country codes * UNSPSC(United Nations Standard Products and Services Code) ** a taxonomy of products and services for use in eCommerce * Wikibooks/Computing * GrepCode.com ** a code search engine built by developers for developers to search and browse open source Java projects. Data Structure and Algorithms * Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani Tree * Tree traversal (Wikipedia) * Tree traversal * Java Data Structure: A Generic Tree * vivin / tree * vivin / GenericTree * Problem with Generics and sub-typing in my generic Tree implementation * Generic tree implementation in Java * Binary Search Tree Implementation in Java * API of javax.swing.tree.TreeModel * API of javax.swing.tree.TreeNode * API of javax.swing.tree.DefaultTreeModel * API of javax.swing.tree.DefaultMutableTreeNode Programming Language * Haskell : http://www.haskell.org/ ** an advanced purely-functional programming language. Security * Cryptographic Concepts * Block cipher mode of operation ** ECB, CBC, PCBC, CFB, OFB, ... Coding Convention * What is Coding Convention * Google Style Guide * FreeBSD kernel source file style guide * Java ** Code Conventions for the Java Programming Language ** Code Conventions for the JavaServer Pages Technology ** Naming Conventions for Enterprise Java Applications * JavaScript ** Google JavaScript Style Guide ** Mozilla Coding Style Guide > JavaScript practices ** Code Conventions for the JavaScript Programming Language by Douglas Crockford ** JavaScript Style Guide from jQuery's Style Guides ** WordPress JavaScript Coding Standards * HTML/CSS ** Google HTML/CSS Style Guide ** HTML Style Guide ** WordPress HTML Coding Standards ** WordPress CSS Coding Standards Java SE * JDK 8 Features * Java Platform Standard Edition 7 Documentation ** Highlights of Technology Changes in Java SE 7 * Java SE 6 Documentation ** Highlights of Technology Changes in Java SE 6 * JDK 5.0 Documentation * The Java Tutorials * Java Language and Virtual Machine Specifications * Java Object Serialization Specification * Format String Syntax * Decimal Format * Date and Time Patterns * Message Format * Java command line debug options ** JDWP (Java Debug Wire Protocol) : the protocol used for communication between a debugger and the Java VM. ** JPDA (Java Platform Debugger Architecture) : * Javadoc Tags in Java SE 1.5 * Javadoc Options in Java SE 1.5 API Documentation and Source Java SE * Java SE 7 API Specification * Java SE 6 API Specification * J2SE 5.0 API Specification * J2SE v1.4.2 API Specification * javax.annotation package API * javax.validation package API Java EE * J2EE 6 API Specification * J2EE v5.0 API Specifications * J2EE v1.4 API Specification Apache Commons * Commons Lang 3.1 API ** org.apache.commons.lang3.builder.EqualsBuilder ** org.apache.commons.lang3.builder.ReflectionToStringBuilder * Commons Collections 4.0-alpha1 API * Commons Collections 3.2.1 API * Commons Validator 1.4.0 API * Commons IO 2.4 API * Commons Compress 1.6-SNAPSHOT API * Commons Math 3.2 API ** Commons Math 3.2 source * Commons Math 2.2 API ** Commons Math 2.2 source JSRs * [http://www.jcp.org/en/jsr/detail?id=94 JSR 94: Java Rule Engine API] ** defines a Java runtime API for rule engines. ** Jess 7 API documentation includes JSR94 API ** Getting Started With the Java Rule Engine API (JSR 94): Toward Rule-Based Applications * [http://jcp.org/en/jsr/detail?id=303 JSR 303: Bean Validation] ** define a meta-data model and API for JavaBean validation based on annotations, with overrides and extended meta-data through the use of XML validation descriptors. * [http://jcp.org/en/jsr/detail?id=349 JSR 349: Bean Validation 1.1] ** standardizes constraint definition, declaration and validation for the Java platform. ** http://beanvalidation.org ** [http://beanvalidation.org/1.1/spec/ Bean Validation specification 1.1 Final] ** Bean Validation API 1.1.0.Final ** Maven repository » javax.validation » validation-api ** Declaring bean constraints (in the reference manual of Hibernate Validator) * [http://jcp.org/en/jsr/detail?id=305 JSR 305: Annotations for Software Defect Detection] ** work to develop standard annotations (such as @NonNull) that can be applied to Java programs to assist tools that detect software defects. ** JSR305 API ** Maven repository » com.google.code.findbugs » jsr305 * [http://jcp.org/en/jsr/detail?id=308 JSR 308: Annotations on Java Types] ** extends the Java annotation syntax to permit annotations on any occurrence of a type. ** Type Annotations Specification ** Type Annotations (JSR 308) and the Checker Framework ** Checker Framework API ** The Checker Framework Manual ** Maven repository » edu.washington.cs.types.checker » checker-framework Concurrency * Doug Lea's Home Page * Atomicity, Visibility and Ordering * How Synchronization works in Java ? Example of synchronized block * Concurrency series * Java theory and practice: Introduction to nonblocking algorithms * Performance of ReentrantLock and Synchronized * Concurrency in JDK 5.0 (23 Nov 2004) Annotation * Package net.jcip.annotations * Package org.apache.http.annotation : Thread-safety annotations based on JCIP-ANNOTATIONS Reflection * Instantiating Objects Of Type Parameter Without Passing Class Literal To Instance Collection * Outline of the Collections Framework * How much memory does a Hashtable use? Generic * Generics from Java SE 1.5 documentation * Lesson: Generics from The Java Tutorials * Reflecting generics * Java theory and practice: Generics gotchas * Diagnosing Java code: Java generics without the pain, Part 1 * How to: generic array creation * Generic array in ArrayList implimentation Enum * Typesafe Enums from Java SE 1.5 documentation * Draft spec for a Typesafe Enum Facility * Bootstrapping static fields within enums ** static fields cannot be accessed within the enum constructor * Nested Java enum definition - does declaring as static make a difference? IO and Networking * HttpURLConnection’s Dark Secrets * Java HttpURLConnection (how to open and read a url with Java) * Java URL and URLConnection example - how to read content from a URL) * Setting the default Java character encoding? Caching * Cache Abstraction from reference documentation of Spring Framework 3.1 * Explanation for how to use Guava caches. XML * Saxon - Configuration Features * Parser Features - Apache XML * Always explicitly specify which XML parser to use * Make DocumentBuilder.parse ignore DTD references * Using Xalan alongside Saxon * Using Saxons S9API Interface * TagSoup and XPath * XML Parser Benchmarks: Part 1 (May 2007) * XPath 1.0 queries on JAXB objects? (Jun 2010) * How to Validate XML using Java * The Java XML Validation API from developerWorks (08 Aug 2006) * Is it a good idea to share a single DocumentBuilder instance accross multiple threads? JDBC * JDBC Drivers by DBMS Product ** Oracle database : http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html ** IBM DB2 : http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21363866 ** Microsoft SQL Server : http://msdn.microsoft.com/en-us/sqlserver/aa937724 * Connection Properties of JDBC Driver ** Oracle database *** OracleDataSource.setConnectionProperties(java.util.Properties value) ** HSQLDB *** Connection properties *** Database Properties in Connection URL and Properties Security * Java Cryptography Architecture(JCA) Reference Guide * JCA Standard Algorithm Name Documentation * Cryptographic Concepts * Java SE 7 Security Documentation * JCA Oracle Providers in JDK 7 * Java SE 6 Security Documentation * JCA Sun Providers in JDK 6 * J2SE 1.5 Security JMX * JMX Speciﬁcation, version 1.4 * Java Dynamic Management Kit 5.1 Tutorial * JMX Best Practices > Open MBeans * Authentication and Authorization in JMX RMI connectors * JSR 160: JMX Remote API * JSR 262: Web Services Connector for JMX Agents misc * Top 10 JavaCodeGeeks posts for 2010 * Dynamically change classpath at runtime * Argue against Pair class * JAR Manifest Specification * Open Source Code Analyzers in Java * Redistribution of JDK 6 * Silent installation of JDK and JRE * Silent installation of JRE * Implementing in-memory compression for objects in Java * Why should I use the keyword “final” on a method parameter in Java? * Integer.valueOf() vs. Integer.parseInt() * What is String literal pool? How to create a String Java EE * Java EE 6 Technologies * Java EE 5 Technologies * J2EE 1.4 Technologies * JSP Tutorial * Be careful with Singleton Session Bean (01/31/2010) * J2EE Transaction Frameworks: Building the Framework (04/26/2001) * OpenEjb, Jetty and Maven - Transaction Management * OpenEjb - Embedded Configuration * JPetStore Java Programming Logging *Commons Logging FAQ *When Static References to Log objects can be used AOP *AspectJ Load-Time Weaving *JBossAOP 1.3 Documentation *aop.xml name and location? Testing * Open-source test management tools * Is there a way to ignore a single FindBugs warning? - edu.umd.cs.findbugs.annotations.SuppressWarnings * JUnit 4 Vs TestNG -- Comparison Debugging * Effective Java Debugging with Eclipse Ruby * Ruby programming language * RailsInstaller ** the quickest way to go from zero to developing Ruby on Rails applications. * RubyGems Guide/Pattern * Ruby Essentials (a free on-line book) * API ** Ruby 1.9.3 Standard Library Documentation * Convention ** Ruby coding style guide ** Ruby and Rails Naming Conventions ** RubyCodingConvention C, C++ * ISO/IEC 9899:TC3 Programming languages — C * ISO/IEC 9899:201x Programming languages — C * The GNU C Reference Manual * ANSI C Specification * The C Library Reference Guide by Eric Huss * C Programming Tutorial * GNU C Library master sources * Recursive Make Considered Harmful * GNU Coding Standards/Naming Variables, Functions, and Files C# * C# Station Tutorial HTML * W3C HTML Current Status * HTML 4.01 Specification * XHTML 1.0 Specification * HTML5 Specification * HTML syntax * Hypertext Transfer Protocol -- HTTP/1.1 * HTML 4 Reference at WDG * HTML Tutorial at W3Schools * HTML5 Tutorial at W3Schools * Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers * HTTP Gallery * Is it possible to change width of tab symbol in textarea? * Why must we still close SCRIPT elements? * Comparison of HTML parsers * Parsing HTML Table using Java XPath * Void elements of HTML5 ** area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr ** a "/" character, which may be present only if the element is a void element. ** Void elements only have a start tag; end tags must not be specified for void elements. * HTML5 Custom Data Attributes (data-*) (May 27th, 2010) Named Entity * HTML 4 Entities * HTML ISO-8859-1 Reference * HTML Symbol Entities Reference * List of XML and HTML character entity references * Character entity references in HTML 4 (in HTML 4.01 Specification) * Named character references (in HTML5 Working Draft) Schema.org * Getting started with schema.org * Full list of types CSS * W3C CSS Current Status * CSS3 Tutorial at W3Schools * CSS Tutorial at W3Schools * Selectors Level 3 * CSS2 Selectors (at CSS2 specification) * CSS Guide by Web Design Group * CSS Identifiers * Vendor-specific CSS Properties * CSS Rounded Corners In All Browsers (With No Images) * CSS combinator precedence? * Writing efficient CSS for use in the Mozilla UI * CSS box model tutorial * The CSS Box Model * Box Sizing * 20 Exceptional CSS Boilerplates and Frameworks * 20+ Thoughts on CSS/HTML Preprocessors and Frameworks (Updated) * Responsive CSS Framework Comparison JavaScript * References and Guides ** ECMAScript Language Specification 5.1 Edition ** Annotated ECMAScript 5.1 ** JavaScript at Mozilla Developer Network(MDN) ** JavaScript Reference at Mozilla Developer Network *** Standard built-in objects *** API of Array object ** JavaScript Guide at Mozilla Developer Network ** JavaScript Tutorial at W3Schools ** The JavaScript Tutorial * Articles ** Douglas Crockford's Javascript ** Learn Advanced JavaScript Programming ** JavaScript. The core ** Learning Advanced JavaScript ** JavaScript “this” keyword ** An Introduction to JavaScript’s “this” *** Can't understand yet. --; ** Scope in JavaScript ** Google JavaScript Style Guide ** [http://stackoverflow.com/questions/2074982/how-to-insert-script-with-prototype How to insert